"""
3.2.2_将日志输出到文件
"""
import logging
# 创建一个名为test_logger的logger对象
logger = logging.getLogger('test_logger')
# 设置logger对象的日志级别为DEBUG
logger.setLevel(logging.DEBUG)
"""
创建一个文件实例，如果api.log文件不存在，则会自动创建；
mode参数设置为('a')追加,日志信息会被追加到文件末尾，而不是覆盖原有内容；
另外为防止乱码，encoding参数设置为urf8编码格式
"""
# 创建一个FileHandler对象，用于将日志信息输出到文件api.log中。如果文件不存在，会自动创建。
fh = logging.FileHandler('api.log',mode='a',encoding='utf-8')
# 设置FileHandler对象的日志级别为DEBUG
fh.setLevel(logging.DEBUG)
# 创建一个Formatter对象，用于定义日志的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 将定义好的日志格式应用到FileHandler对象上
fh.setFormatter(formatter)
# 将FileHandler对象添加到logger对象中，这样logger记录的日志就会通过这个处理器输出到文件
logger.addHandler(fh)

if __name__ == '__main__':
    logger.debug('-----调试信息 [debug] -----')
    logger.info('-----有用的信息 [info] -----')
    logger.warning('-----警告信息 [warning] -----')
    logger.error('-----错误信息 [error] -----')
    logger.critical('-----严重错误信息 [critical] -----')